package com.xq;

import org.greenrobot.greendao.generator.DaoGenerator;
import org.greenrobot.greendao.generator.Entity;
import org.greenrobot.greendao.generator.Schema;

import java.io.File;


public class DaoGeneratorBuilder {

    public static void main(String[] args){
        File file = new File("./SimpleExample/src/main/java-gen");
        if(file != null){
            if(!file.exists()){
                file.mkdir();   //判断源目录是否存在，不存在则创建
            }

            /* 该方法第一个参数用来更新数据库版本号，第二个参数为要生成的DAO类所在包路径*/
            Schema schema = new Schema(1,"com.xq.jltx.db.bean");
            schema.setDefaultJavaPackageDao("com.xq.jltx.db.dao");
            //      当然，如果你愿意，你也可以分别指定生成的 Bean 与 DAO 类所在的目录，只要如下所示：
            //      Schema schema = new Schema(1, "me.itangqi.bean");
            //      schema.setDefau   ltJavaPackageDao("me.itangqi.dao");
            addNote(schema);
            try {
                DaoGenerator daoGenerator = new DaoGenerator();
                daoGenerator.generateAll(schema,file.getAbsolutePath());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 通过一个 Schema 对象后，你便可以使用它添加实体（Entities）
     * @param schema
     */
    private static void addNote(Schema schema){
        Entity note = schema.addEntity("Note");
        note.addIdProperty().primaryKey().autoincrement();
        note.addStringProperty("text").notNull();
        note.addStringProperty("comment");
        note.addDateProperty("date");
    }
}
